#ifndef INTERFACE_CONFIG_HPP
#define INTERFACE_CONFIG_HPP

#include <string>

/// 用于描述某个网络接口在物理层、IP层及路由方面的参数
struct InterfaceConfig 
{
    // 接口名称，例如 "eth0"、"usb0"
    std::string ifName;

    // 物理层设置: MAC 地址
    std::string macAddress;

    // IPv4 相关
    std::string ipv4Address;  // 例如"192.168.0.100"
    std::string ipv4Mask;     // 例如"255.255.255.0"

    // IPv6 相关
    std::string ipv6Address;  // 例如"2001:db8::1234"
    int ipv6Prefix = 0;       // IPv6 前缀长度, 如 64

    // 默认网关 (可以是 IPv4 或 IPv6)
    std::string gateway;
};
#endif
